// 第一个参数是标签名，第二个参数是属性，第三个参数开始是包裹的内容
export function createElement(type, props, ...children) {
    const virtualDom = {
        $$typeof: Symbol("react.element"),
        type,
        key: null,
        ref: null,
        props: {}
    }

    if (typeof props !== 'object') {
        throw TypeError("类型错误");
    }
    virtualDom.props = {...props};

    if (children.length === 1) {
        virtualDom.props.children = children[0];
    } else if (children.length > 1) {
        virtualDom.props.children = children;
    }


    // if(props !== null && typeof props!=='object'){
    //     throw TypeError("类型错误");
    // }
    // // props 要么是字面量对象，要么是null
    // if(props !== null && typeof props==='object'){
    //     virtualDom.props = {...props}
    // }


    return virtualDom;
}